return {
	{
		"windwp/nvim-autopairs",
		event = "InsertEnter",
		config = true,
		-- use opts = {} for passing setup options
		-- this is equivalent to setup({}) function
	},
	{ "echasnovski/mini.nvim", version = "*" },
	{
		"echasnovski/mini.pairs",
		event = "VeryLazy",
		opts = {
			modes = { insert = true, command = true, terminal = false },
			-- skip autopair when next character is one of these
			skip_next = [=[[%w%%%'%[%"%.%`%$]]=],
			-- skip autopair when the cursor is inside these treesitter nodes
			skip_ts = { "string" },
			-- skip autopair when next character is closing pair
			-- and there are more closing pairs than opening pairs
			skip_unbalanced = true,
			-- better deal with markdown code blocks
			markdown = true,
		},
		config = function()
			require("mini.pairs")
		end,
	},

	{
		"echasnovski/mini.surround",
		opts = {
			mappings = {
				-- add = "gsa",
				add = "<leader>bsa",
				delete = "<leader>bsd",
				find = "<leader>bsf",
				find_left = "<leader>bsf",
				highlight = "<leader>bsh",
				replace = "<leader>bsr",
				update_n_lines = "<leader>bsn",
			},
		},
	},
}
